home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / BARNET / ARMLINUX / MAIL / 9804 / 000062_owner-linux-arm…r.rutgers.edu _Fri Apr 17 13:20:58 1998.msg < prev    next >
Internet Message Format  |  1998-05-13  |  3KB

  1. Return-Path: <owner-linux-arm-outgoing@vger.rutgers.edu>
  2. Received: from orava.funet.fi (orava.funet.fi [128.214.248.46])
  3.     by odie.barnet.ac.uk (8.8.6/8.8.6) with ESMTP id NAA25131
  4.     for <willy@odie.fluff.org>; Fri, 17 Apr 1998 13:20:57 +0100
  5. Received: from vger.rutgers.edu ([128.6.190.2]:7623 "EHLO vger.rutgers.edu" ident: "root") by orava.funet.fi with ESMTP id <391307-13857>; Fri, 17 Apr 1998 15:21:35 +0300
  6. Received: by vger.rutgers.edu id <971145-29197>; Fri, 17 Apr 1998 08:14:11 -0400
  7. Received: from odie.barnet.ac.uk ([194.82.202.98]:12900 "EHLO odie.barnet.ac.uk" ident: "willy") by vger.rutgers.edu with ESMTP id <971163-29197>; Fri, 17 Apr 1998 08:13:50 -0400
  8. Received: (from willy@localhost)
  9.     by odie.barnet.ac.uk (8.8.6/8.8.6) id NAA25120;
  10.     Fri, 17 Apr 1998 13:19:38 +0100
  11. From: Matthew Wilcox <willy@odie.barnet.ac.uk>
  12. Message-Id: <199804171219.NAA25120@odie.barnet.ac.uk>
  13. Subject: Re: memfastset.S
  14. To: linux@arm.uk.linux.org (Russell King - ARM Linux Admin)
  15. Date:     Fri, 17 Apr 1998 13:19:38 +0100 (BST)
  16. Cc: linux-arm@vger.rutgers.edu
  17. In-Reply-To: <199804170954.KAA00561@raistlin.armlinux.org> from "Russell King - ARM Linux Admin" at Apr 17, 98 10:54:25 am
  18. X-Mailer: ELM [version 2.4 PL25]
  19. MIME-Version: 1.0
  20. Content-Type: text/plain; charset=US-ASCII
  21. Content-Transfer-Encoding: 7bit
  22. X-Orcpt: rfc822;linux-arm@vger.rutgers.edu
  23. Sender: owner-linux-arm@vger.rutgers.edu
  24. Precedence: bulk
  25. X-Loop: majordomo@vger.rutgers.edu
  26. Status: RO
  27.  
  28. Russell King - ARM Linux Admin
  29. > Matthew Wilcox writes:
  30. > > @ -8 & -16 are already done.  If it's non-zero, then it wasn't -8, if
  31. > > @ it's -16, it won't be taken above 0.
  32. > >         addnes    r2, r2, #6
  33. >                 ^^^ is this correct?
  34.  
  35. It is, yes.  It makes both -4 and -12 positive, while leaving -16 below
  36. zero and -8 on zero.  So greater than stores 4 bytes more.  Bingo.
  37. Remember, that's the tested one ;-)  For maximum confuse-a-catness, you
  38. could make it 5 or 7 instead.
  39.  
  40. > >         strgt    r1, [r0]
  41. > > 
  42. > >         LOADREGS(fd, sp, {pc})
  43. >             was  ^^^ sp!, {pc}) is what you meant here?
  44.  
  45. Almost certainly.  As i explained, I converted it from a BBC Basic
  46. assembler format, so there are typos.  I should've supplied the BBC
  47. Basic version as well, I guess.  Sorry.
  48.  
  49. > Surely you can make this optimisation as well:
  50.  
  51. Depends if you ever call it with zero as a parameter.  Your previous
  52. code coped with that, so I didn't want to rock the boat.
  53.  
  54. > > @ at this point, we are up to 28 bytes away from the end of the buffer,
  55. > > @ r2 is n-32 bytes, ie {-4, -8, ..., -28}; *OR* we've finished and r2
  56. > > @ contains -32
  57. > > Lmod_16:
  58. > >         cmn    r2, #16
  59. > >         stmgeia    r0!, {r1, r3, ip, lr}
  60. > >         addlt    r2, r2, #16
  61. > > 
  62. > > @ now we are up to 12 bytes from end of buffer; r2 can be {-4, -8, -12, -16}
  63. > >         cmn    r2, #16
  64. > >         LOADREGS(eqfd, sp!, {pc})
  65. > > @ now we are up to 12 bytes from end of buffer; r2 can be {-4, -8, -12}
  66. > > Lmod_4:
  67. > >         adds    r2, r2, #8
  68. > >         stmgeia    r0!, {r1, lr}
  69. > >         strne    r1, [r0]
  70. > > 
  71. > >         LOADREGS(fd, sp!, {pc}}
  72. >             was  ^^^ sp!, {pc}) is what you meant here?
  73.  
  74. yep.  Sorry.
  75.  
  76. -- 
  77. Set Alias$Case Set Alias$[ |||| |MSet Alias$Otherwise Set Alias$[ \ Matthew
  78. "" |MSet Alias$When If %0=%%0 Then Set Alias$[ "" ||MIf %0=%%0    \ Wilcox
  79. Then Set Alias$Otherwise Set Alias$[ |||||||||||||||| ||MIf       \
  80. %0=%%0 Then Set Alias$When Set Alias$[ ||||||||||||||||
  81. unsubscribe: body of `unsubscribe linux-arm' to majordomo@vger.rutgers.edu